#ifndef _XUSBCORE_SRC_SCSI_SCSI_H_
#define _XUSBCORE_SRC_SCSI_SCSI_H_
#include "xusbdevice.h"



#define SILKID_DATA_OUT 0   //SCSI_IOCTL_DATA_OUT
#define SILKID_DATA_IN  1   //SCSI_IOCTL_DATA_IN
#define CMD_TIME_OUT 2000

#ifndef BOOL
    #define BOOL unsigned char
#endif

#ifndef FALSE
    #define FALSE 0
#endif


#ifndef TRUE
    #define TRUE !FALSE
#endif

#ifdef _WIN32
    void *Scsi_Open(PXUSBDevice pDevice);
    void Scsi_Close(void *hDevice);
#endif
BOOL Scsi_Write(void *hDevice, unsigned char *DataBuffer, int DataTransferLength, int TimeOutValue);
BOOL Scsi_Read(void *hDevice, unsigned char *DataBuffer, int DataTransferLength, int TimeOutValue);
int Scsi_Inquiry(void *hDevice, unsigned char *buffer, int cbBuffer);
BOOL Scsi_Transmit(void *hDevice, unsigned char *cdb, unsigned int cdbSize, unsigned char DataIn, unsigned char *DataBuffer, int DataTransferLength, int timeOut);

#endif
